home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / PROGRAM / CBASE102.ARJ / CBDDLP.H < prev    next >
Text File  |  1991-09-23  |  2KB  |  84 lines

  1. /*    Copyright (c) 1989 Citadel    */
  2. /*       All Rights Reserved        */
  3.  
  4. #ifndef H_CBDDLP    /* prevent multiple includes */
  5. #define H_CBDDLP
  6.  
  7. /* #ident    "@(#)cbddlp.h    1.6 - 91/09/23" */
  8.  
  9. #include <ansi.h>
  10.  
  11. /*#define DEBUG        /* switch to enable debugging */
  12.  
  13. /* ansi headers */
  14. #ifdef AC_STDDEF
  15. #include <stddef.h>
  16. #endif
  17. #include <stdio.h>
  18.  
  19. /* library headers */
  20. #include <bool.h>
  21.  
  22. /* constants */
  23. #define PATHDLM        ('/')        /* file path name delimiter */
  24. #define PREFIX_MAX    (4)        /* maximum prefix length */
  25.  
  26. /* structure definitions */
  27. typedef struct {            /* ddl data file */
  28.     char *    filename;        /* file name */
  29.     char *    record;            /* record contained */
  30. } ddldf_t;
  31.  
  32. typedef struct {            /* ddl index file */
  33.     char *    filename;        /* file name */
  34.     char *    key;            /* key contained */
  35. } ddlif_t;
  36.  
  37. typedef struct {            /* ddl field */
  38.     int    flags;            /* flags */
  39.     char *    type;            /* data type */
  40.     char *    ctype;            /* C data type */
  41.     char *    name;            /* field name */
  42.     char *    elemc;            /* element count */
  43. } ddlfld_t;
  44.  
  45. /* global data declarations */
  46. extern char *    progname;        /* program name */
  47. extern FILE *    yyin;            /* lex input stream */
  48. extern FILE *    yyout;            /* lex output stream */
  49. extern int    yylineno;        /* lex line number */
  50. extern FILE *    hfp;            /* .h file stream */
  51. extern FILE *    ifp;            /* .i file stream */
  52. extern char *    recname;        /* record name */
  53. extern int    dfc;            /* data file count */
  54. extern ddldf_t *ddldfv;            /* ddl data file table */
  55. extern int    ifc;            /* index file count */
  56. extern ddlif_t *ddlifv;            /* ddl index file table */
  57. extern int    fldc;            /* field count */
  58. extern ddlfld_t *ddlfldv;        /* ddl field table */
  59.  
  60. /* function declarations */
  61. #ifdef AC_PROTO
  62. char *    ctype(const char *type);
  63. int    ddlputh(FILE *fp, const char *recname, int fldc, const ddlfld_t fldv[]);
  64. int    ddlputi(FILE *fp, const char *recname, int fldc, const ddlfld_t fldv[]);
  65. int    fpctype(FILE *fp, const char *type);
  66. bool    isalloc(const char *ctype);
  67. char *    tmpupr(const char *s);
  68. void    warning(const char *s, const char *t);
  69. int    yyerror(const char *s);
  70. int    yyparse(void);
  71. #else
  72. char *    ctype();
  73. int    ddlputh();
  74. int    ddlputi();
  75. int    fpctype();
  76. bool    isalloc();
  77. char *    tmpupr();
  78. void    warning();
  79. int    yyerror();
  80. int    yyparse();
  81. #endif
  82.  
  83. #endif    /* #ifndef H_CBDDLP */
  84.